語法是:
條件 ? 值1 : 值2
如果 條件 為 true,運算子回傳 值1, 否則回傳 值2。
此外false,可能的假表達式有:null、 NaN、0、 空字串 ("", '',``) 和 undefined。如果condition是其中任何一個,條件表達式的結果將是執行值2的結果。
function getFee(isMember) {
return (isMember ? '$2.00' : '$10.00');
}
console.log(getFee(true));
// output: "$2.00"
console.log(getFee(false));
// output: "$10.00"
console.log(getFee(null));
// output: "$10.00"
三元運算符是右結合的,這意味著它可以通過以下方式“鏈接”,類似於if … else if … else if … else鏈:
function example(…) {
return condition1 ? value1
: condition2 ? value2
: condition3 ? value3
: value4;
}
相當於:
function example(…) {
if (condition1) { return value1; }
else if (condition2) { return value2; }
else if (condition3) { return value3; }
else { return value4; }
}